package com.martin.dms.dataservices;

import com.martin.dms.model.Client;

/**
 * Data services for the client entity.
 * 
 * @author mtsvetkov
 */
public interface ClientDataService extends DMSDataService<Client> {

    /**
     * Updates the first and the last names of a client.
     * 
     * @param clientId - the id of the client.
     * @param firstName - the new first name.
     * @param lastName - the new last name.
     */
    public void updateNames(long clientId, String firstName, String lastName);

    /**
     * Updates the username of a client.
     * 
     * @param clientId - the id of the client.
     * @param username - the new username.
     */
    public void updateUsername(long clientId, String username);

    /**
     * Updates the password of a client.
     * 
     * @param clientId - the id of the client.
     * @param password - the new password.
     */
    public void updatePassword(long clientId, String password);

    /**
     * Updates the address of a client.
     * 
     * @param clientId - the id of the client.
     * @param address - the new address.
     */
    public void updateAddress(long clientId, String address);

    /**
     * Updates the email of a client.
     * 
     * @param clientId - the id of the client.
     * @param email - the new email.
     */
    public void updateEmail(long clientId, String email);

    /**
     * Updates the phone number of a client.
     * 
     * @param clientId - the id of the client.
     * @param phoneNumber - the new phone number.
     */
    public void updatePhoneNumber(long clientId, String phoneNumber);
}
